Efficient Program Slicing Algorithms for Measuring Functional Cohesion and Parallelism

نویسنده

  • Jehad Al Dallal
چکیده

Program slicing is the task of finding all statements in a program that directly or indirectly influence the value of a variable occurrence. The set of statements that can affect the value of a variable at some point in a program is called a program slice. In several software engineering applications, such as program debugging and measuring program cohesion and parallelism, several slices are computed at different program points. In this paper, algorithms are introduced to compute all backward and forward static slices of a computer program by traversing the program representation graph once. The program representation graph used in this paper is called Program Dependence Graph (PDG). We have conducted an experimental comparison study using 25 software modules to show the effectiveness of the introduced algorithm for computing all backward static slices over single-point slicing approaches in computing the parallelism and functional cohesion of program modules. The effectiveness of the algorithm is measured in terms of time execution and number of traversed PDG edges. The comparison study results indicate that using the introduced algorithm considerably saves the slicing time and effort required to measure module parallelism and functional cohesion. Keywords—Backward slicing, cohesion measure, forward slicing, parallelism measure, program dependence graph, program slicing, static slicing.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Efficient Algorithm for Computing all Program Static Slices

Program slicing is the task of finding all statements in a program that directly, or indirectly, influence the value of a variable occurrence. The set of statements that can affect the value of a variable at some point in a program is called a program backward slice. In several software engineering applications, such as program debugging and measuring the program cohesion and parallelism, sever...

متن کامل

An Efficient Algorithm for Computing all Program Forward Static Slices

Program slicing is the task of finding all statements in a program that directly or indirectly influence the value of a variable occurrence. The set of statements that can affect the value of a variable at some point in a program is called a program backward slice. In several software engineering applications, such as program debugging and measuring program cohesion and parallelism, several sli...

متن کامل

Cohesion Metrics

We consider ways of measuring the cohesion of program fragments based upon techniques for program slicing, following the work of Ott et al 12, 2, 13, 11, 10]. The approach is based on the idea that the intersection of a program's slices represents that part of the fragment which is cohesive. We produce cohesion metrics that are structurally identical to those of Ott and Thuss 13], the diierence...

متن کامل

Analyzing Slicing of Program through Cohesion Metric

This paper presents a new cohesion metric for a program which is used to analyze the slicing criterion. Based on the value of propose cohesion metric it is decided to perform slicing in a program or not. The propose cohesion metrics is also evaluated analytically against Weyuker’s Property and perform comparison with the existing cohesion metrics of Meyers et al. The results in this paper shows...

متن کامل

Determine Cohesion and Coupling for Class Diagram through Slicing Techniques

High cohesion or module strength indicates that a system has been well partitioned into components which have strong internal relationships between attribute, method and class. Cohesion is an important factor in term of software design. Coupling indicates the degree of interdependence among the component of a software system. Coupling is thought to be a desirable goal in software construction, ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007